昨天解釋了Framework,今天來筆記Library吧!
wiki 解釋:
在電腦科學中,library是用於開發軟體的子程式集合。
library和執行檔的區別是,library不是獨立程式,他們是向其他程式提供服務的代碼。
嗯...但我覺得好像還是有點抽象耶...
那麼...再來以生活化的例子來說明好了...
美食節目企劃編寫了一系列的五分鐘出好菜食譜,
在烹煮前,節目已經把大部分的食材都準備好了,
我們只要根據食譜內的步驟來做菜,依循食譜內的規則,
裡面有什麼食材?規定什麼時候放鹽,什麼時候加糖,
只要每個步驟按著書中食譜的說明實作就可以煮出好吃的菜了。
這本"五分鐘出好菜食譜" 就是料理世界的Framework。
這本"五分鐘出好菜食譜"裡面的食譜目錄就是料理世界的Library。
Library 是一個子集合,可以重複取用,
在料理的世界裡,
我們將經常烹飪的料理方法集合起來變成食譜目錄,
只要你獲得食譜目錄,讓你每次煮菜都可以觀看,
根據你想要的項目,去"翻閱"食譜裡的內容。
在程式的世界裡,
我們將常用的功能(Method或Function)集合起來變成Library,
當我們import這個Library後,
根據你想要完成的行為,去使用Library裡的功能。
那麼,
Framework 和 Library有什麼不同?
Framework call you
You call Library
Framework contains Library
Framework(框架)呼叫你
你呼叫Library(函式庫)
Framework(框架)包含 Library(函式庫)
什麼意思?
剛剛的例子有提到
"五分鐘出好菜食譜" 是料理世界的Framework。
"五分鐘出好菜食譜"裡面的食譜目錄就是料理世界的Library。
簡單的來說,
"五分鐘出好菜食譜" 是Framework,你必須根據Framework的步驟實作。
(Framework呼叫你)你要聽Framework的決定
"五分鐘出好菜食譜"的食譜目錄是Library,由你決定要選擇目錄的哪一道菜來實作。
(你呼叫Library)Library聽你的決定
"五分鐘出好菜食譜"包含食譜目錄
(Framework包含 Library)
希望這樣的說明,可以讓更多人了解Framework 和 Library喔!
函式庫-wiki
http://zh.wikipedia.org/wiki/%E5%87%BD%E5%BC%8F%E5%BA%AB
API、Method和Library是什麼東西和關係?
http://thecodingtime.blogspot.tw/2014/02/apimethodlibrary.html
Framework 和 Library 區別
http://edm.ares.com.tw/dm/newsletter-2010-04/IT-1.html